/***************************************************
 @Name :        1196kk0
 @Time :        2025-05-26
 @Email :       2232506563@qq.com
 @Comment :     主函数
 @FileName :    main.c
 @Version :     4.0
****************************************************/

/********** 头文件 **********/
#include "drivers_beep.h"
#include "drivers_Systick.h"
#include "drivers_LED.h"
#include "drv_Key.h"
#include "drv_Fan.h"
#include "drv_Motor.h"
#include "drv_exti.h"
#include "drv_USART.h"
#include "drv_TIM.h"
#include "drv_IIC_SHT20.h"
#include "drv_SPI_Nixie.h"
#include "drv_DMA.h"
#include "drv_ADC.h"
#include "drv_Servo.h"
#include "drv_ASRPRO.h"
#include "oled.h"
#include "drv_Fire.h"
#include "drv_ITR.h"
#include "drv_WIFI_TCP.h"
#include "drv_RTC.h"
/****************************/

/*********初始化函数*********/
void main_Config(void);

int main(void)
{
	main_Config();		
	Dog_Stand();
	delay_ms(500);
	WIFI_Connect();				//连接WIFI
	while (1)
	{
		OLED_Show();			//更新OLED
		Execute_Cmd();			//更新动作
		Get_Cur_Temp_Hum();		//读取温湿度
		Get_Cur_Time_Date();	//读取时间
    }
}

/***************************************
函数名：main_Config
函数功能：外设初始化
输入参数：无
输出参数：无
其它：
****************************************/
void main_Config()
{
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 	//中断组初始化
	systick_config(168); 								//滴答定时器初始化

	led_config();										//led灯初始化
	beep_conifg();										//蜂鸣器初始化
	Fan_Config();										//风扇初始化
	Motor_Config();                                     //马达初始化
	drv_Fire_Config();									//火焰传感器初始化
	drv_ITR_Config();      								//光电开关初始化

	drv_USART2_Config();								//语音模块串口初始化
	drv_USART6_Config();  								//下载电路串口初始化
	drv_USART3_Config();								//WIFI模块串口初始化
	drv_TIM7_Config();									//定时器更新温度数据

	drv_IIC_SHT20_Config();								//IIC_SHT20温湿度模块初始化
	OLED_Init();										//IIC_OLED屏幕初始化

	tim3_init(20000-1,84-1);							//舵机定时器3初始化
	tim3_ch1_pa6_init();								//脚1PWM初始化
	tim3_ch2_pa7_init();								//脚2PWM初始化
	tim3_ch3_pc8_init();								//脚3PWM初始化
	tim3_ch4_pc9_init();								//脚4PWM初始化
	tim5_ch2_pa1_init();								//尾巴PWM初始化

	RTC_Config();										//RTC初始化
}









